NeXT TypedStream Data | 1992-12-26 | 7KB | 134 lines
typedstream
StreamTable
HashTable
Object
[20c]
typedstream
[597c]
typedstream
HashTable
Object
FirstResponder
HeaderClass
%%%%i@@
firstnib
checkSpelling:
alignSelCenter:
unscript:
pasteFont:
runPageLayout:
superscript:
copyRuler:
copyFont:
selectAll:
pasteRuler:
toggleRuler:
showGuessPanel:
alignSelLeft:
paste:
performClose:
arrangeInFront:
subscript:
copy:
alignSelRight:
delete:
orderFrontColorPanel:
underline:
performMiniaturize:
Piper
genericobject_nib
reloadScripts:
[6302c]
typedstream
HashTable
Object
NibData
@@@@s
Storage
{*@@}
[18{*@@}]
File's Owner
CustomObject
Application
MainMenu
MenuTemplate
*@*@ccc
Piper
Matrix
Control
Responder
@:@iiii
MenuCell
ButtonCell
ActionCell
Helvetica
Info Panel...
Help...
ff@@#::s
submenuAction:
Bitmap
menuArrow
Reexamine Offerings
Services
MenuItem
PiperInstance
WindowTemplate
iiii***@s@
Panel
TextField
TextFieldCell
Version 1.3.1
+by Dave Griffiths and
Raf Schietekat
Button
NXImage
Public Domain, no guarantees
LThe program has been tested by Raf Schietekat who uses it daily. However, new errors might have crept in that did not manifest themselves yet. Since error handling is limited, you are advised to use this application wisely, and avoid trouble. Our efforts are directed towards a more powerful successor, rather than perfecting Piper.
\f1\b0\fs24 Piper is a simple utility which appears in the Services menu. It takes the current selection and if it is ASCII data, pipes it through a UNIX script (any output is returned). If it is an ascii filename, it passes it as a parameter to a script. So far, only ASCII text and filenames are handled.\
The scripts must reside in ~/Library/Piper or /LocalLibrary/Piper (some are included in Piper.app/SampleScripts) and there must be one folder per script. Inside each folder (whose name will appear in Piper's service menu) there must be a file named "script" which contains the actual script (or binary). This file must be executable. There may also be a file called "options". The following lines are recognized:\
\f2\b \
\f1\b0\i Send Type: NXAsciiPboardType\
Send Type: NXFilenamePboardType\
Return Type: NXAsciiPboardType\
Key Equivalent: Q\
\f2\b\i0 \
\f1\b0 If the "Return Type" line is seen, the output from the script is returned to the calling application (e.g. as in the Mail Send window). By default the output of the script is pasted to the selection pasteboard. Piper only returns ASCII data at present.\
The "Key Equivalent" line may be used to specify a command key equivalent for that menu item.\
When new script directories are added to ~/Library/Piper or /LocalLibrary/Piper, Piper doesn't know about them yet (well, the first time it does not even know the ones it carries by default in its SampleScripts internal folder!). You must click the service "Reexamine Offerings" (you can do so at any time). This will cause Piper to re-evaluate what it's got to offer and update its menu accordingly (do this also if scripts are deleted). You will still only be able to see the changes for applications launched after that. It is not necessary to log out and back in, as the previous version erroneously stated, but you will have to relaunch your applications that want this service in the current work session. Of course, if that application is the Workspace Manager, you will have to log out and back in, sadly enough.\
I hope NeXT will soon offer the capability for an application to monitor certain directories, so that Piper will do this automatically. (NeXT has got a lot of object-orientedness to implement in the file system! Only this delegate capability would eliminate a lot of reboots, re-home-ins, app restarts (Edit pipes and commands), IB parses and Add...s etcetera etcetera.)\
It should also let the Services menu be handled more elegantly, either by delegating that to the Workspace Manager (should be a breeze with remote object messaging), or by messaging running Application objects to update the Services themselves.\
The idea came from Anthony Berno.\
David Griffiths made Piper 1.1.\
Raf Schietekat made subsequent versions.\
Icon by Tim Bissell.\
The two authors are independedly working on a successor (CyberMan, and ServiceMan).\
This is public domain software and you are invited to develop it for the better. Please contact the authors to synchronize efforts. Please report bugs also!\
Raf Schietekat, RfSchtkt@banruc60.bitnet at 1992-07-03, uuencoded NeXT Mail preferred